import pandas as pd
import os

# 参数配置
excel_file = 'asr_train.xlsx'  # 输入Excel文件
output_excel = 'asr_train_with_path.xlsx'  # 输出Excel文件
audio_folder = './audio/'  # 音频文件所在目录，请替换为实际路径

# 读取Excel文件
df = pd.read_excel(excel_file)

# 添加新列用于存储路径
df['path'] = ''

# 遍历每一行，根据id查找音频文件
for idx, row in df.iterrows():
    file_id = row['id']
    # 构造文件名（假设是.wav文件）
    filename = f"{file_id}.wav"
    # 检查文件是否存在
    file_path = os.path.join(audio_folder, filename)
    if os.path.exists(file_path):
        df.at[idx, 'path'] = file_path
    else:
        # 可选：尝试其他扩展名，如.mp3
        for ext in ['.mp3', '.flac', '.ogg']:
            alt_filename = f"{file_id}{ext}"
            alt_path = os.path.join(audio_folder, alt_filename)
            if os.path.exists(alt_path):
                df.at[idx, 'path'] = alt_path
                break

# 保存结果到新的Excel文件
df.to_excel(output_excel, index=False)
print(f"已成功添加路径信息，保存至 {output_excel}")